A camera can be used to aid a robot in different tasks such as finding and grasping objects. The camera then acts as a visual sensor to the robot. However, to be able to coordinate what the camera senses with actions of the robot, the relationship between the coordinate system of the camera and the coordinate system of the robot has to be known. This can be done by calibrating the camera to a coordinate system common with a coordinate system of the robot.
The calibration problem can be seen as determining the intrinsic and the extrinsic parameters of the camera. The intrinsic parameters define the focal length and the aspect ratio of the camera, i.e. the ratio between the width and the height of the imaging elements in the camera, and skew. The extrinsic parameters of the camera are the parameters that describe the geometrical relationship between the coordinate system of the camera and the coordinate system of the robot. This geometrical relationship can also be referred to mathematically as a pose.
A traditional approach to determine the extrinsic parameters of the camera is to calibrate the camera towards a 2D (two dimensional) checkerboard. A corresponding frame is then manually pointed out by first defining a robot TCP (Tool Center Point) and then jogging the pointing tool to points of the checkerboard that define the work object. A relationship between the coordinate system of the camera and the coordinate system of the robot can then be determined. This manual camera calibration has a plurality of drawbacks. For example, it is often difficult to point out an accurate TCP and also to point out an accurate work object on the checkerboard. The procedure takes long time and often gives a poor result. It is also difficult for the user to know if the end result is accurate as there is no feedback regarding the obtained accuracy. Since the calibration is based on a 2D checkerboard, it gives no 3D (three dimensional) information; and it is thus not possible to use the calibration result for 3D applications.
WO2012076038A1 discloses a method for calibrating a first coordinate system of a robot unit with a second coordinate system of an object identification unit comprising a camera unit. The method comprises generating a plurality of target points to which a calibration tool is to be moved by the robot unit for calibration, evaluating the target points for visibility of the camera unit and range of distance from the camera unit, and moving the target points towards the camera unit until the target point are either maintained or rejected, generating a robot program based on the maintained target points, and executing the robot program while calibrating the first coordinate system with the second coordinate system
From “Simplified Intrinsic Camera Calibration and Hand-Eye Calibration for Robot Vision” by Maim et al, Proceedings of the 2003 IEEE/RSJ, Intl. Conference on Intelligent Robots and Systems, Las vegas, Nev.; October 2003; p. 1037-1043, a method for calibrating a camera is explained. Intrinsic camera calibration and hand-eye calibration is performed on a stereo head configuration of two cameras mounted on a tool flange of the robot. The method uses a checkerboard to make direct pose estimates of the robot. If instead having a stationary camera, the checkerboard has to be attached to the tool flange. The checkerboard has to have a considerable size to give good calibration accuracy. Because calibration preferably should be done periodically to confirm the calibration, and because it should be possible to re-make the calibration if new conditions arises, it is desired to have the checkerboard constantly attached to the tool flange such that the operator does not have to re-attach the checkerboard to the tool flange every time a calibration shall be done. However, having a large checkerboard constantly attached to the tool flange becomes unpractical. Also, for the case with one or several cameras attached to the tool flange, it is not always reasonable to have a large checkerboard permanently placed in the working area of the robot.
There is thus a need for an alternative calibration method which works with a small marker that without difficulties can be constantly attached to the robot. In particular, the method should work with a marker that is suitable for position measurements only, thus a 2D marker.
It is therefore an object of the present invention to provide a calibration method to calibrate a vision camera to a robot using a 2D marker. In particular, the method should essentially be made without manual intervention.